import sys
from selenium import webdriver

def get_driver(_type='gc', no_ui=False, Proxy = None):
    """
    判断是在什么环境下运行
    :param _type: Chrome or Firefox
    :param no_ui: Windows系统默认为界面模式, 无界面设为:True
    :return:
    """
    driver = None
    if 'linux' in sys.platform:
        option = webdriver.ChromeOptions()
        option.add_argument('headless')  # 浏览器不提供可视化页面
        option.add_argument('no-sandbox')  # 以最高权限执行
        option.add_argument('window-size=1920x3000')  # 指定浏览器分辨率
        option.add_argument('--start-maximized')  # 最大化(全屏)运行
        if (Proxy != None):
            option.add_argument("--proxy-server=" + Proxy)
        option.add_argument('user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36')   # 添加user-agent，避免被当作爬虫脚本
        option.add_argument('--disable-gpu')  # 禁用gpu加速, 规避bug
        option.add_argument('blink-settings=imagesEnabled=false')  # 不加载图片提升速度
        driver = webdriver.Chrome(options=option)

    else:
        # if no_ui:
            '''Windows系统无界面情况'''
            option = webdriver.ChromeOptions()
            option.add_argument('headless')  # 浏览器不提供可视化页面
            option.add_argument('window-size=1920x3000')  # 指定浏览器分辨率
            option.add_argument('--start-maximized')  # 最大化(全屏)运行
            driver = webdriver.Chrome(options=option)
        # else:
        #     if _type == 'ff':
        #         driver = webdriver.Firefox()
        #     elif _type == 'gc':
        #         driver = webdriver.Chrome()
        #     driver.maximize_window()
        #     driver.implicitly_wait(10)
    return driver

